home *** CD-ROM | disk | FTP | other *** search
- /*
- * Header file for common error description library.
- *
- * Copyright 1988, Student Information Processing Board of the
- * Massachusetts Institute of Technology.
- *
- * For copyright and distribution info, see the documentation supplied
- * with this package.
- */
-
- #if !defined(__COM_ERR_H) && !defined(__COM_ERR_H__)
-
- #ifdef __GNUC__
- #define COM_ERR_ATTR(x) __attribute__(x)
- #else
- #define COM_ERR_ATTR(x)
- #endif
-
- #include <stdarg.h>
-
- typedef long errcode_t;
-
- struct error_table {
- char const * const * msgs;
- long base;
- int n_msgs;
- };
- struct et_list;
-
- extern void com_err (const char *, long, const char *, ...)
- COM_ERR_ATTR((format(printf, 3, 4)));
-
- extern void com_err_va (const char *whoami, errcode_t code, const char *fmt,
- va_list args)
- COM_ERR_ATTR((format(printf, 3, 0)));
-
- extern char const *error_message (long);
- extern void (*com_err_hook) (const char *, long, const char *, va_list);
- extern void (*set_com_err_hook (void (*) (const char *, long,
- const char *, va_list)))
- (const char *, long, const char *, va_list);
- extern void (*reset_com_err_hook (void)) (const char *, long,
- const char *, va_list);
- extern int init_error_table(const char * const *msgs, long base, int count);
-
- extern errcode_t add_error_table(const struct error_table * et);
- extern errcode_t remove_error_table(const struct error_table * et);
- extern void add_to_error_table(struct et_list *new_table);
-
- /* Provided for Heimdall compatibility */
- extern const char *com_right(struct et_list *list, long code);
- extern void initialize_error_table_r(struct et_list **list,
- const char **messages,
- int num_errors,
- long base);
- extern void free_error_table(struct et_list *et);
-
- #define __COM_ERR_H
- #define __COM_ERR_H__
- #endif /* !defined(__COM_ERR_H) && !defined(__COM_ERR_H__)*/
-